package com.basic.kotlin

/**
 * 对象继承关系
 */
// 类的定义方式一：
class 妹子(性格: String, 长相: String, 声音: String): person(性格, 长相, 声音)

// 类的定义方式二：
class 帅哥(性格: String, 长相: String, 声音: String): person(性格, 长相, 声音){

    fun say(){
        println("我最帅")
    }
}

class 大叔(性格: String, 长相: String, 声音: String): person(性格, 长相, 声音){
    init{
        println("我有房、有车、有存款,我在父类的init方法后运行，在自己的实例每次创建被new时先运行")
    }
}
open class person(var 性格: String, var 长相: String, var 声音: String){
    init {
        println("new 了一个${this.javaClass.simpleName}, ta性格:$性格, 长相:$长相, 声音:$声音")
    }
}

fun main(args: Array<String>) {
    val girl: 妹子 = 妹子("温柔", "甜美", "动人")
    println(girl is person)

    val boy: 帅哥 = 帅哥("彪悍", "帅气", "浑厚")
    boy.say()

    val uncle: 大叔 = 大叔("稳重", "成熟", "洪亮")

}